import request from '@/config/axios'

// 生产计划报 VO
export interface PlanReportVO {
  id: number // id
  workOrderNo: string // 工单号
  orderNo: string // 订单号
  sourceOrder: string // 源订单
  salesOrder: string // 销售订单
  workOrderDate: Date // 工单日期
  promisedDelivery: Date // 承诺交期
  issueTime: Date // 下发时间
  fiberConfigCompletionTime: Date // 配纤完成时间
  schedulingTime: Date // 排产时间
  startProductionTime: Date // 开工时间
  productCode: string // 产品品号
  specification: string // 规格
  bomVersion: string // BOM版次
  drawingNo: string // 图号
  workOrderQuantity: number // 工单数量
  workOrderStatus: number // 工单状态
  fiberConfigWorker: string // 配纤人员
  auditor: string // 审核人员
  startProductionWorker: string // 开工人员
  workOrderWaitingDuration: number // 工单等待时长
  productionCycleTime: string // 生产周期
  line: string // 产线
}

// 生产计划报 API
export const PlanReportApi = {
  // 查询生产计划报分页
  getPlanReportPage: async (params: any) => {
    return await request.get({ url: `/opticore/plan-report/page`, params })
  },

  // 查询生产计划报详情
  getPlanReport: async (id: number) => {
    return await request.get({ url: `/opticore/plan-report/get?id=` + id })
  },

  // 新增生产计划报
  createPlanReport: async (data: PlanReportVO) => {
    return await request.post({ url: `/opticore/plan-report/create`, data })
  },

  // 修改生产计划报
  updatePlanReport: async (data: PlanReportVO) => {
    return await request.put({ url: `/opticore/plan-report/update`, data })
  },

  // 删除生产计划报
  deletePlanReport: async (id: number) => {
    return await request.delete({ url: `/opticore/plan-report/delete?id=` + id })
  },

  // 导出生产计划报 Excel
  exportPlanReport: async (params) => {
    return await request.download({ url: `/opticore/plan-report/export-excel`, params })
  },
}